#!/usr/bin/python3
# _*_ coding: utf-8 _*_
#
# Copyright (C) 2024 - 2024 heihieyouheihei, Inc. All Rights Reserved 
#
# @Time    : 2024/8/27 0:34
# @Author  : Yuyun
# @File    : leetcode_383_赎金信.py
# @IDE     : PyCharm

"""
给你两个字符串：ransomNote 和 magazine ，判断 ransomNote 能不能由 magazine 里面的字符构成。
如果可以，返回 true ；否则返回 false 。
magazine 中的每个字符只能在 ransomNote 中使用一次。

示例 1：
输入：ransomNote = "a", magazine = "b"
输出：false

示例 2：
输入：ransomNote = "aa", magazine = "ab"
输出：false

示例 3：
输入：ransomNote = "aa", magazine = "aab"
输出：true


提示：
1 <= ransomNote.length, magazine.length <= 10^5
ransomNote 和 magazine 由小写英文字母组成
"""

from collections import defaultdict
class Solution:
    #默认字典（hash表）方法
    def canMakeup(self, s, t):
        hash_s, hash_t = defaultdict(int), defaultdict(int)
        for x in s:
            hash_s[x] += 1
        for y in t:
            hash_t[y] += 1
        for z in s:
            #ransomNote中存在单个字母数量大于magazine中对应数量，则不满足使用一次要求
            if hash_s[z] > hash_t[z] :
                return False
        return True
if __name__ == '__main__':
    solution = Solution()
    ransomNote = input()
    magazine = input()
    print(solution.canMakeup(ransomNote, magazine))